package com.netas.kekmanager.dao;
import com.netas.kekmanager.dao.model.TagType;
import com.netas.kekmanager.dao.model.TagTypePk;
import com.netas.kekmanager.dao.exceptions.TagTypeDaoException;
import java.util.List;

public interface TagTypeDao
{
	/**
	 * Method 'insert'
	 * 
	 * @param dto
	 * @return TagTypePk
	 */
	public TagTypePk insert(TagType dto);

	/** 
	 * Updates a single row in the tag_type table.
	 */
	public void update(TagTypePk pk, TagType dto) throws TagTypeDaoException;

	/** 
	 * Deletes a single row in the tag_type table.
	 */
	public void delete(TagTypePk pk) throws TagTypeDaoException;

	/** 
	 * Returns all rows from the tag_type table that match the criteria 'id = :id'.
	 */
	public TagType findByPrimaryKey(int id) throws TagTypeDaoException;

	/** 
	 * Returns all rows from the tag_type table that match the criteria ''.
	 */
	public List<TagType> findAll() throws TagTypeDaoException;

	/** 
	 * Returns all rows from the tag_type table that match the criteria 'id = :id'.
	 */
	public List<TagType> findWhereIdEquals(int id) throws TagTypeDaoException;

	/** 
	 * Returns all rows from the tag_type table that match the criteria 'name = :name'.
	 */
	public List<TagType> findWhereNameEquals(String name) throws TagTypeDaoException;

	/** 
	 * Returns the rows from the tag_type table that matches the specified primary-key value.
	 */
	public TagType findByPrimaryKey(TagTypePk pk) throws TagTypeDaoException;

}
